home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / asmbler.arc / NULLS.ASM < prev    next >
Assembly Source File  |  1988-11-19  |  1KB  |  63 lines

  1. INCLUDE UTIL.INC
  2.  
  3. ASSUME  CS:NULLSC,DS:NULLSC,ES:NULLSC,SS:NULLSC
  4. NULLSC  SEGMENT PARA PUBLIC 'CODE'
  5.  
  6.         ORG     100H
  7. NULLS:  XOR     BX,BX
  8.         MOV     CL,BYTE PTR [BX].UPA
  9.         XOR     CH,CH
  10.         LEA     DI,[BX+1].UPA
  11.         SCANPARAM DX,ERROR1
  12.         SCANPARAM BX,CNT1
  13.         JMP     ERROR1
  14. CNT1:   XOR     AL,AL
  15.         MOV     AH,3DH
  16.         INT     21H
  17.         JC      ERROR
  18.         MOV     BX,AX
  19.         CALL    COUNTUP
  20.         NORMALTERM
  21. ERROR1: MOV     AX,19
  22.         ERRORTERM
  23.  
  24.  
  25. ASSUME  CS:NULLSC,DS:NULLSC,ES:NULLSC,SS:NULLSC
  26. COUNTUP:
  27.         MOV     DX,OFFSET BUFFER
  28. CNT2:   MOV     CX,4096
  29.         MOV     AH,3FH
  30.         INT     21H
  31.         JNC     CNT5
  32.         JMP     ERROR
  33. CNT5:   MOV     CX,AX
  34.         MOV     SI,AX
  35.         MOV     DI,OFFSET BUFFER
  36.         MOV     AL,0
  37. CNT3:   REPNE   SCASB
  38.         JCXZ    CNT4
  39.         INC     LOLCNT
  40.         JMP     CNT3
  41. CNT4:   CMP     SI,4096
  42.         JE      CNT2
  43.         MOV     BX,01H
  44.         MOV     DX,OFFSET BLANKS
  45.         CALL    FWRITESTR
  46.         MOV     AX,LOLCNT
  47.         CALL    FWRITEINT
  48.         CALL    FWRITELN
  49.         RET
  50.  
  51.         MWRITESTR
  52.         MWRITEINT
  53.         MWRITELN
  54.  
  55.         EVEN
  56. LOLCNT  DW      0
  57.  
  58. BLANKS  DB      '    ',0
  59. BUFFER  DB
  60.  
  61. NULLSC  ENDS
  62.         END     NULLS
  63.